Detecting and Responding to an Event Within an Interactive Videogame

ABSTRACT

As a user is being presented with interactive media by a presenting device, a separate monitoring device may be used to monitor the presentation of the interactive media and detect an event that occurs therein. Such a monitoring device may be configured and positioned to access media content from the presentation of the interactive media. For example, the monitoring device may be configured and positioned to record video content with a camera and record audio content with a microphone. Having accessed this media content, the monitoring device may generate an identifier, such as a fingerprint or watermark, of the media content and compare the generated identifier with a reference identifier that is generated from the source of the media content. Based on the generated identifier matching the reference identifier, the monitoring device may detect that an event has occurred within the interactive media presentation and present a corresponding notification.

RELATED APPLICATIONS

This is a continuation of U.S. patent application Ser. No. 16/017,170,filed Jun. 25, 2018, which is a continuation of U.S. patent applicationSer. No. 15/003,658, filed Jan. 21, 2016, and issued on Aug. 21, 2018,as U.S. Pat. No. 10,055,010, which is a continuation of U.S. patentapplication Ser. No. 13/795,877, filed Mar. 12, 2013, and issued on Jun.21, 2016, as U.S. Pat. No. 9,372,531, each of which is incorporatedherein by reference in its entirety.

TECHNICAL FIELD

The subject matter disclosed herein generally relates to the processingof data. Specifically, the present disclosure addresses systems andmethods to facilitate detecting an event within interactive media.

BACKGROUND

Media (e.g., digital media) may be presented to one or more users, forexample, for purposes of entertainment, merchandising (e.g.,advertising), education, public service, or other communication ofinformation. Some media may be characterized as being “interactive”where the user to whom the media is presented can interact with themedia itself (e.g., its content). That is, the content of the mediadepends, at least partly, on input from the user. A computer game (e.g.,videogame) is an example of interactive media in which a user (e.g.,game player) has at least some control over the content of the computergame (e.g., video or audio associated with achieving or failing a goal,gaining or losing an item in the game, or the appearance of the user'scharacter or avatar within the game). Software that emulates orsimulates a musical instrument (e.g., a drum machine or piano tutorial)is another example of interactive media, since the user fully or partlycontrols the audio content (e.g., sounds or music) produced by thesoftware.

Generally, simply allowing a user to control a playing of media thatcannot be changed by the user would not be considered “interactive.” Forexample, a movie may be presented to a user (e.g., movie viewer) via aplayer device (e.g., a portable media player) or player software (e.g.,executing on a computer). Although the player device or software mayallow the user to play the movie, pause the movie, skip forward withinthe movie, and skip backward within the movie, the movie itself (e.g.,the content of the movie) is unchangeable by the viewer. Hence, playingthe movie itself is not an interactive experience for the viewer.

In some situations, an interactive experience includes the playing ortriggering of non-interactive media. For example, a video “cut scene”may be automatically played between levels of a computer game. In suchan example, the computer game is an interactive experience, for at leastthe reason that the player controls when one level is completed, therebycontrolling when the video “cut scene” is played, even though the video“cut scene” itself is non-interactive.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings.

FIG. 1 is a network diagram illustrating a network environment suitablefor detecting an event within interactive media, according to someexample embodiments.

FIG. 2 is a block diagram illustrating components of a reference serverconfigured to facilitate detection of an event within interactive media,according to some example embodiments.

FIG. 3 is a block diagram illustrating components of a device configuredto detect an event within interactive media, according to some exampleembodiments.

FIG. 4 is a conceptual diagram illustrating detection of an event withinan interactive media presentation, according to some exampleembodiments.

FIG. 5 is a layout diagram illustrating a notification that may bedisplayed with an interactive media presentation, according to someexample embodiments.

FIG. 6 is a layout diagram illustrating the notification, according tosome example embodiments.

FIG. 7-9 are flowcharts illustrating operations of a device inperforming a method of detecting an event within interactive media,according to some example embodiments.

FIG. 10 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein.

DETAILED DESCRIPTION

Example methods and systems are directed to detection of one or moreevents within interactive media (e.g., within a presentation ofinteractive media). Examples merely typify possible variations. Unlessexplicitly stated otherwise, components and functions are optional andmay be combined or subdivided, and operations may vary in sequence or becombined or subdivided. In the following description, for purposes ofexplanation, numerous specific details are set forth to provide athorough understanding of example embodiments. It will be evident to oneskilled in the art, however, that the present subject matter may bepracticed without these specific details.

A device (e.g., a computer, game console, or mobile device) may be usedto present interactive media (e.g., a game, such as a videogame) to auser of the device (e.g., a player of the game). The interactive mediamay be stored on the device (e.g., in local memory or other storage) andpresented by the device (e.g., by executing a software application,applet, or app). In other situations, the interactive media may bestored by a server (e.g., a game server) and provided to the device bythe server (e.g., streamed live, downloaded portion by portion, ordownloaded in full) for presentation by the device. The interactivemedia may include media files that each store media content (e.g., videocontent, image content, or audio content), and a presentation of theinteractive media may be generated, presented, or both, by the devicebased on user input that influences or controls which media files areincluded in the presentation. That is, the user input may fully orpartially determine whether and when a particular media file is includedin the presentation.

As the user is being presented with the interactive media by apresenting device (e.g., first device), a monitoring device (e.g.,second device) may be used to monitor the presentation of theinteractive media and detect an event that occurs therein. Such amonitoring device may be configured and positioned to access mediacontent from the presentation of the interactive media. For example, themonitoring device may be configured and positioned to record videocontent (e.g., one or more video frames, which may be still images) witha camera and record audio content with a microphone. Having accessedthis media content, the monitoring device may generate an identifier,such as a fingerprint or watermark, of the media content and compare thegenerated identifier with a reference identifier that is generated fromthe source of the media content. Based on the generated identifiermatching the reference identifier, the monitoring device may detect thatan event has occurred within the interactive media presentation andpresent a corresponding notification.

Accordingly, the monitoring device may present a notification thatreferences the occurrence of the detected event. Such a notification maybe presented to the user (e.g., via the monitoring device, thepresenting device, or both). The notification may be presented toanother user (e.g., a socially connected friend, follower, or connectionof the user, as identified by or according to a social networkingsystem). In some example embodiments, the notification is presented bythe monitoring device. However, in alternative example embodiments, themonitoring device may cause the presenting device (e.g., the device thatpresents the interactive media) to present the notification. In someexample embodiments, the presenting device and the monitoring device arecombined into a single device.

Moreover, the monitoring device may function entirely independent of anyserver or other source that may be providing the interactive mediapresentation to the presentation device. That is, the monitoring devicemay detect an event within the interactive media presentation andpresent a corresponding notification without communication from such aserver or other source of the interactive media presentation. Furtherdetails are described below.

FIG. 1 is a network diagram illustrating a network environment 100suitable for detecting an event within interactive media, according tosome example embodiments. The network environment 100 includes areference server 110, a database 115, a social network server 118, aninteractive media presentation server 120, and devices 130, 131, and150, all of which may be communicatively coupled to each other via anetwork 190. In some example embodiments, the interactive mediapresentation server 120 is communicatively coupled to the device 130 bya separate network or other communication path. The reference server110, the database 115, the social network server 118, the interactivemedia presentation server 120, and the devices 130, 131, and 150 mayeach be implemented in a computer system, in whole or in part, asdescribed below with respect to FIG. 10. As shown in FIG. 1, thereference server 110, with or without the database 115, may form all orpart of a network-based system 105. For example, the network-basedsystem 105 may be or include a cloud-based system that provides one ormore network-based services (e.g., provision of reference identifiersfor media content included as part of various interactive media).

Also shown in FIG. 1 are users 132 and 152. One or both of the users 132and 152 may be a human user (e.g., a human being), a machine user (e.g.,a computer configured by a software program to interact with the device130), or any suitable combination thereof (e.g., a human assisted by amachine or a machine supervised by a human). The user 132 is not part ofthe network environment 100, but is associated with the device 130 andmay be a user of the device 130. For example, the device 130 may be adesktop computer, a vehicle computer, a tablet computer, a navigationaldevice, a portable media device, or a smart phone belonging to the user132.

The user 132 may also be associated with the device 131 and may be auser of the device 131. For example, the device 130 may be a desktopcomputer, a vehicle computer, a tablet computer, a navigational device,a portable media device, or a smart phone belonging to the user 132. Asshown in FIG. 1, the device 131 is able to monitor (e.g., by accessingor receiving) media content presented as part of an interactive mediapresentation by the device 130. In certain example embodiments, thedevice 131 and the device 130 are combined into a single device. In suchexample embodiments, the monitoring of the media content may beperformed internally by the single device (e.g., within memory).

Likewise, the user 152 is not part of the network environment 100, butis associated with the device 150. According to various exampleembodiments, the user 152 is a socially connected friend, follower, orconnection of the user 132 (e.g., as identified or indicated by a socialnetworking service, such as Facebook® or Twitter®). As an example, thedevice 150 may be a desktop computer, a vehicle computer, a tabletcomputer, a navigational device, a portable media device, or a smartphone belonging to the user 152.

Any of the machines, databases, or devices shown in FIG. 1 may beimplemented in a general-purpose computer modified (e.g., configured orprogrammed) by software to be a special-purpose computer to perform thefunctions described herein for that machine, database, or device. Forexample, a computer system able to implement any one or more of themethodologies described herein is discussed below with respect to FIG.10. As used herein, a “database” is a data storage resource and maystore data structured as a text file, a table, a spreadsheet, arelational database (e.g., an object-relational database), a triplestore, a hierarchical data store, or any suitable combination thereof.Moreover, any two or more of the machines, databases, or devicesillustrated in FIG. 1 may be combined into a single machine, and thefunctions described herein for any single machine, database, or devicemay be subdivided among multiple machines, databases, or devices.

The network 190 may be any network that enables communication between oramong machines, databases, and devices (e.g., the reference server 110and the device 131). Accordingly, the network 190 may be a wirednetwork, a wireless network (e.g., a mobile or cellular network), or anysuitable combination thereof. The network 190 may include one or moreportions that constitute a private network, a public network (e.g., theInternet), or any suitable combination thereof.

FIG. 2 is a block diagram illustrating components of the referenceserver 110, which may be configured to facilitate detection of an eventwithin interactive media, according to some example embodiments. Thereference server 110 may be a machine that, as shown, includes a mediaaccess module 210, a fingerprint generation module 220, a watermarkextraction module 230, and a notification correlation module 240, allconfigured to communicate with each other (e.g., via a bus, sharedmemory, or a switch).

Any one or more of the modules described herein may be implemented usinghardware (e.g., a processor of a machine) or a combination of hardwareand software. For example, any module described herein may configure aprocessor to perform the operations described herein for that module.Moreover, any two or more of these modules may be combined into a singlemodule, and the functions described herein for a single module may besubdivided among multiple modules. Furthermore, according to variousexample embodiments, modules described herein as being implementedwithin a single machine, database, or device may be distributed acrossmultiple machines, databases, or devices.

The media access module 210 of the reference server 110 is configured toaccess media (e.g., from the database 115, from the interactive mediapresentation server 120, or from both). The accessed media may includeone or more media files containing media content that may be presentableas part of the interactive media presentation. For example, theinteractive media presentation server 120 may store such media files,and the media access module 210 of the reference server 110 may accessor retrieve those media files. The database 115 may be used by the mediaaccess module 210 to temporarily or permanently store the media files(e.g., for fingerprint generation, watermark extraction, or both).

The fingerprint generation module 220 of the reference server 110 isconfigured to generate reference fingerprints from the media files thatare accessed by the media access module 210. For example, thefingerprint generation module 220 may apply one or more algorithms to avideo file and generate a reference fingerprint that is usable toidentify a presentation (e.g., playback) of that video file within aninteractive media presentation. As another example, the fingerprintgeneration module 220 may apply one or more algorithms to an audio fileand thus generate a reference fingerprint usable to identify a playingof that audio file within the interactive media presentation. As afurther example, the fingerprint generation module 220 may apply one ormore algorithms to an image file and accordingly generate a referencefingerprint usable to identify a displaying of that image file withinthe interactive media presentation. As a yet further example, thefingerprint generation module 220 may apply one or more algorithms to atext file and thereby generate a reference fingerprint that is usable toidentify, within the interactive media presentation, an appearance ofthe text contained in the text file.

The watermark extraction module 230 of the reference server 110 isconfigured to extract reference watermarks from the media files that areaccessed by the media access module 210. For example, the watermarkextraction module 230 may apply one or more algorithms to a video fileand extract a reference watermark that is usable to identify apresentation (e.g., playback) of that video file within an interactivemedia presentation. As another example, the watermark extraction module230 may apply one or more algorithms to an audio file and thus extract areference watermark usable to identify a playing of that audio filewithin the interactive media presentation. As a further example, thewatermark extraction module 230 may apply one or more algorithms to animage file and accordingly extract a reference watermark usable toidentify a displaying of that image file within the interactive mediapresentation. As a yet further example, watermark extraction module 230may apply one or more algorithms to a text file and thereby extract thereference watermark that is usable to identify, within the interactivemedia presentation, an appearance of the text contained in the textfile.

According to various example embodiments, one or both of the fingerprintgeneration module 220 and the watermark extraction module 230 may beincluded in the reference server 110. Hence, the reference server 110may form all or part of a cloud-based server system (e.g., of one ormore machines) that is configured to generate fingerprints from variousmedia content, store watermarks for various media content, or anysuitable combination thereof.

The notification correlation module 240 of the reference server 110 isconfigured to correlate a media file (e.g., accessed by the media accessmodule 210 and processed by the fingerprint generation module 220, thewatermark extraction module 230, or both) with a notification thatreferences an event which may occur within the interactive mediapresentation. For example, supposing the interactive media presentationis a videogame, the media file may contain video content that shows anin-game character congratulating the user (e.g., game player) oncompleting a difficult level of the game. In such a case, the completionof the difficult level of the game is the event that may occur withinthe interactive presentation, and this event, this media file, or bothmay be correlated with a notification that references the completion ofthis level of the game. The notification correlation module 240 mayaccess event data that correlates the event with the media file (e.g.,from the interactive media presentation server, from the database 115,or from both). Based on such event data, the notification correlationmodule 240 may map the event, the media file, or both, to thecorresponding notification, which may be stored in the database 115(e.g., after being automatically or manually generated based on themedia file). This correspondence relationship (e.g., map) may be storedin the database 115.

Thus, the reference server 110, the database 115, or both, may beconfigured to provide (e.g., to any one or more of devices 130, 131, and150) a reference identifier (e.g., fingerprint or watermark) of themedia file and a notification that corresponds to an event signified bythe media file being presented within the interactive mediapresentation. The reference identifier and the notification may beprovided as part of a network-based service that supplements theinteractive media presentation with additional information (e.g., thenotification) upon detection of the event occurring. In some exampleembodiments, the network-based system 105 provides such a service.

Moreover, such a service may be provided without any cooperation,assistance, or other communication from the interactive mediapresentation server 120 or other source of the interactive mediapresentation. Indeed, some or all of the network-based system 105 mayobtain and provide reference identifiers of various media files and themedia content thereof, by accessing such media content (e.g., as a user)during a presentation of the interactive media presentation. Forexample, reference identifiers may be obtained from playing a computergame (e.g., to completion, automatically, by executing software scriptsto simulate user input), and corresponding notifications may begenerated (e.g., automatically or manually) and mapped to the obtainedreference identifiers. As a result, the network-based system 105 mayprovide a supplemental information service that complements theinteractive media presentation, but is separate from the interactivemedia presentation and produced independently (e.g., withoutcollaboration with the author or source of the interactive mediapresentation).

FIG. 3 is a block diagram illustrating components of the device 131,which may be configured to detect an event within interactive media,according to some example embodiments. The device 131 may be a machinethat, as shown, includes a reference module 310, a fingerprint module320, a watermark module 330, a detection module 340, and a presentationmodule 350, all configured to communicate with each other (e.g., via abus, shared memory, or a switch).

As noted above, any one or more of the modules described herein may beimplemented using hardware (e.g., a processor of a machine) or acombination of hardware and software. For example, any module describedherein may configure a processor to perform the operations describedherein for that module. Moreover, any two or more of these modules maybe combined into a single module, and the functions described herein fora single module may be subdivided among multiple modules. Furthermore,according to various example embodiments, modules described herein asbeing implemented within a single machine, database, or device may bedistributed across multiple machines, databases, or devices.

As noted above, the device 131 may monitor an interactive mediapresentation being presented by the device 130 (e.g., by recording orotherwise accessing presented media content included in the interactivemedia presentation). Media content being presented as part of theinteractive media presentation may thus be accessed by the device 131(e.g., for detection of the event that corresponds to the mediacontent). For example, the device 131 may include a camera that isconfigured to capture video content, image content, text content, or anysuitable combination thereof, that appears in the interactive mediapresentation. As another example, the device 131 may include amicrophone is configured to capture audio content that is played withinthe interactive media presentation.

The reference module 310 of the device 131 is configured to access areference identifier (e.g., reference fingerprint or referencewatermark) that is generated or extracted (e.g., by the reference server110) from media content which is presentable as part of the interactivemedia presentation. The reference identifier may be accessed from thenetwork-based system 105 (e.g., from the reference server 110 or fromthe database 115). The reference identifier may be denoted herein as a“first identifier.” As noted above, within the interactive mediapresentation, an event that corresponds to the media content may beconfigured to occur in response to a user input (e.g., generated by theuser 132 and submitted via the device 130, as the user 132 isinteracting with the interactive media presentation).

The fingerprint module 320 of the device 131 is configured to generate afingerprint from a playback of the media content as part of theinteractive media presentation. For example, the fingerprint module 320may apply one or more algorithms to a video file and generate afingerprint that may be compared to a reference fingerprint for thatvideo file and thereby identify a presentation (e.g., playback) of thatvideo file within an interactive media presentation. As another example,the fingerprint module 320 may apply one or more algorithms to an audiofile and thus generate a fingerprint that may be compared to a referencefingerprint for that audio file and thereby identify a playing of thataudio file within the interactive media presentation. As a furtherexample, the fingerprint module 320 may apply one or more algorithms toan image file and accordingly generate a fingerprint that may becompared to a reference fingerprint for that image file and therebyidentify a displaying of that image file within the interactive mediapresentation. As a yet further example, the fingerprint module 320 mayapply one or more algorithms to a text file and thereby generate afingerprint that may be compared to a reference fingerprint for thattext file and thereby identify, within the interactive mediapresentation, an appearance of the text contained in the text file.

The watermark module 330 of the device 131 is configured to extract awatermark from the playback of the media content as part of theinteractive media presentation. For example, the watermark module 330may apply one or more algorithms to a video file and extract a watermarkthat may be compared to a reference watermark for that video file andthereby identify a presentation (e.g., playback) of that video filewithin an interactive media presentation. As another example, thewatermark module 330 may apply one or more algorithms to an audio fileand thus extract a watermark that may be compared to a referencewatermark for that audio file and thereby identify a playing of thataudio file within the interactive media presentation. As a furtherexample, the watermark module 330 may apply one or more algorithms to animage file and accordingly extract a watermark that may be compared to areference watermark for that image file and thereby identify adisplaying of that image file within the interactive media presentation.As a yet further example, the watermark module 330 may apply one or morealgorithms to a text file and thereby extract a watermark that may becompared to a reference watermark for that text file and therebyidentify, within the interactive media presentation, an appearance ofthe text contained in the text file.

According to various example embodiments, one or both of the fingerprintmodule 320 and the watermark module 330 may be included in the device131. Hence, the device 131 may be configured to generate fingerprintsfrom various media content monitored by the device 131, extractwatermarks for such media content, or any suitable combination thereof.

The detection module 340 of the device 131 is configured to detect anoccurrence of the event that corresponds to the media content. As notedabove, the event may be configured to occur in response to a user input(e.g., from the user 132). The detection of this occurrence of the eventmay be based on the identifier generated by the device 131 matching thereference identifier accessed by the device 131. For example, theoccurrence of the event may be detected based on a match between afingerprint generated by the fingerprint module 320 and a referencefingerprint accessed by the reference module 310. As another example,the occurrence of the event may be detected based on a match between awatermark extracted by the watermark module 330 and a referencewatermark accessed by the reference module 310.

The presentation module 350 of the device 131 is configured to present anotification (e.g., accessed from the network-based system 105) thatreferences the occurrence of the event. The notification may bepresented based on the detecting of the event's occurrence, based on theidentifier generated by the device 131 matching the reference identifieraccessed by the device 131, or based on both.

FIG. 4 is a conceptual diagram illustrating detection of an event 432within an interactive media presentation 430, according to some exampleembodiments. As shown, the interactive media presentation 430 isgenerated, presented, or both (e.g., by the device 130) based on userinput 420 and based on media 405. The user input 420 may be receivedfrom the device 130 that is presenting the interactive mediapresentation 430. For example, the interactive media presentation 430may be a game (e.g., multimedia game) presented by game software that isexecuting on the device 130, and the user input 420 may be or includecontrol signals, commands, or choices generated by the user 132 as partof playing the game.

As shown in FIG. 4, the media 405 may take the form of media files thatcontain media content 410, 412, 414, and 416. Examples of media content(e.g., media content 410) include video, an image, audio, text, or anysuitable combination thereof. The arrows pointing to the interactivemedia presentation 430 from the user input 420 and from the media 405indicate that the interactive media presentation 430 is influenced, atleast in part, by the user input 420 and the media 405.

In the example illustrated in FIG. 4, the event 432 occurs within theinteractive media presentation 430 (e.g., as a result of the user input420). Because the event 432 is occurring, the interactive mediapresentation 430 includes (e.g., incorporates) the media content 410,which signifies the occurrence of the event 432. As a result, a playbackof the media content 410 is initiated by the interactive mediapresentation 430 (e.g., via the device 130).

Since the device 131 is monitoring the interactive media presentation430 and the playback of various media content included therein, adetection 440 of the event 432 that corresponds to the media content 410may be performed (e.g., by the device 131). For example, the device 131may be configured by event detection software that executes on thedevice 131 and performs the detection 440. According to various exampleembodiments, a method discussed below with respect to FIG. 7-9 may beimplemented by such event detection software.

FIG. 5 is a layout diagram illustrating a notification 520 that may bedisplayed with (e.g., within) an interactive media presentation,according to some example embodiments. In FIG. 5, a user interface 500is depicted in the example form of a graphical window. Such a graphicalwindow may be displayed on a display screen of the device 130, while thedevice 130 is presenting the interactive media presentation 430 (e.g.,within the user interface 500). In some example embodiments, theinteractive media presentation 430 is a game (e.g., titled “MajesticFantasy 4: The Unkempt Realms”), and the user interface 500 is used topresent various media content of the game (e.g., media content 410).

In response to the detection 440 of the event 432 that corresponds tothe media content 410, the notification 520 may be presented. FIG. 5depicts the notification 520 being presented within the user interface500. In alternative example embodiments, the notification 520 may bepresented outside the user interface 500 (e.g., elsewhere on a displayscreen of the device 130, on a display screen of the device 131, or on adisplay screen of the device 150). The notification 520 references theevent 432 (e.g., the occurrence of the event 432 within the interactivemedia presentation 430).

As shown in FIG. 5, some example embodiments of the user interface 500include a help button 510 (e.g., labeled “Get Help for This Level”). Insome example embodiments, the help button 510 appears in the userinterface 500 in response to the detection 440 of the event 432. Forexample, the event 432 may be an in-game defeat of the user 132 (e.g.,player), and the detection 440 of such a defeat may cause the helpbutton 510 to appear within the user interface 500. If the user 132clicks on the help button 510, the notification 520 appears within theuser interface 500 (e.g., to provide information that may be helpful toavoid another such defeat). As another example, the event 432 may be anin-game promotion of the user 132 to a more difficult level of the game,and the detection 440 of such a promotion may trigger the appearance ofthe help button 510. In response to the user 132 clicking on the helpbutton 510, the notification 520 may be shown (e.g., to provide strategyfor playing the more difficult level of the game).

FIG. 6 is a layout diagram illustrating the notification 520, accordingto some example embodiments. As noted above, the notification referencesthe event 432 within the interactive media presentation 430 (e.g.,references the occurrence of the event 432), and according to variousexample embodiments, the notification 520 may be presented to one ormore of the users 132 and 152 (e.g., via one or more of the devices 130,131, and 150).

In general, the notification 520 may include any information that ispertinent to the occurrence of the event 432 within the interactivemedia presentation 430. As shown in FIG. 6, the notification 520 mayinclude a map 610 (e.g., an in-game map of a player's current levelwithin a game). The notification 520 may include one or more pieces ofinformation 620, 630, 640, and 650, which each may reference theoccurrence of the event 432. Examples of such information include a helpdocument, a guide, an encouragement (e.g., to a player of a game, thatthe player persevere in attempting to win a difficult section or levelof the game), a suggestion (e.g., that the player of the game attempt adifferent strategy), or an advertisement (e.g., that the player purchasea virtual in-game item that may enhance the player's enjoyment of thecurrent section or level of the game). Additional examples of suchinformation include an offer for the purchase of one or more virtualgoods (e.g., as an in-game purchase, an in-app purchase, downloadablelevel content (DLC), or any suitable combination thereof), as well assome or all of a user interface (e.g., an electronic storefront)operable to initiate such a purchase. Further examples of suchinformation include an offer for the purchase of one or more physicalgoods (e.g., related or recommended merchandise, games, memorabilia,soundtracks, or other physical items), as well as some or all of a userinterface operable to initiate such a purchase. In some exampleembodiments, the notification 520 includes a hyperlink to suchinformation.

As noted in FIG. 6, some or all of the information 620, 630, 640, or 650may refer to an achievement that is signified by the event 432 occurringwithin the interactive media presentation 430 (e.g., completion of alevel in a game, as signified by a video “cut scene” that appears at theend of the level). Any of the information 620, 630, 640, or 650 maydescribe a virtual item in a virtual world (e.g., an upgraded swordwithin a fantasy adventure game, as signified by special music thatplays upon acquisition of the upgraded sword).

Some or all of the information 620, 630, 640, or 650 may be included inthe notification 520 based on a level of progress within a storyline ofthe interactive media presentation (e.g., a plot of a game). Similarly,any of the information 620, 630, 640, or 650 may be included based on alevel of advancement attained by the user 132 (e.g., within a characterarc of an in-game character or avatar of the user 132). Accordingly, anyof the information 620, 630, 640, or 650 may refer to such a level ofprogress or level of advancement.

In some example embodiments, some or all of the information 620, 630,640, or 650 corresponds to a virtual location, virtual orientation, orboth, within a virtual world. For example, suppose the interactive mediapresentation 430 is an immersive game within a three-dimensional virtualworld. The event 432 may be an arrival of the player at a particularlocation within the virtual world (e.g., a waterfall that hides atreasure chest), and the event 432 may be detected by the correspondingplayback of the media content 410 (e.g., a particular audio pattern ofwater splashing sounds, a particular visual pattern of rock formations,or both). Based on this, any of the information 620, 630, 640, or 650may reference that particular location (e.g., the waterfall) and providestrategy, hints, or advertisements pertinent thereto (e.g., “Look behindthe waterfall to find treasure!” or “If you want to search behind thewaterfall, would you like to buy some goggles or an umbrella?”).

In certain situations, the media content 410 may be spatialized (e.g.,by inclusion of multi-channel audio content) with respect to thethree-dimensional virtual world. Accordingly, the event 432 may bedetected by a corresponding playback of the media content 410 with aparticular virtual orientation (e.g., a particular audio pattern ofwater splashing sounds whose frequency distribution indicates that theplayer is facing towards the waterfall that hides the treasure chest, aparticular visual pattern of rock formations indicating that the playeris facing the waterfall, or both). Based on this, any of the information620, 630, 640, or 650 may reference that particular orientation (e.g.,facing towards the waterfall) and provide strategy, hints, oradvertisements pertinent thereto (e.g., “Don't get distracted by thewaterfall! Enemies may be lurking behind you!” or “If you want to searchbehind the waterfall, would you like to hire a helper to watch yourback?”).

In example embodiments where the notification 520 is presented to theuser 152 via the device 150, the notification 520 may include areference 660 to the user 132. As noted above, the users 132 and 152 maybe socially connected to each other (e.g., as friends, followers, orconnections, such as may be indicated by a social networking service).Accordingly, the notification 520 with the reference 660 may notify theuser 152 that the user 132 has experienced the event 432 within theinteractive media presentation 430. For example, the notification 520may thus tell the user 152 that the user 132 has been defeated inplaying a game, has been promoted to a more difficult level of the game,has acquired a virtual object within the game, has advanced to aparticular point in the game's storyline, or has arrived at a particularvirtual location within a virtual world in which the game is played.

FIG. 7-9 are flowcharts illustrating operations of the device 131 inperforming a method 700 of detecting the event 432 within theinteractive media presentation 430, according to some exampleembodiments. Operations in the method 700 may be performed by the device131 (e.g., separately from the device 130, or sharing one or moreoperations with the device 130), using modules described above withrespect to FIG. 3. As shown in FIG. 7, the method 700 includes operation710, 720, 730, and 740.

In operation 710, the reference module 310 of the device 131 accesses afirst identifier (e.g., a first fingerprint or a first watermark). Thefirst identifier may be a reference identifier and may be accessed fromthe database 115, and the first identifier may be obtained from themedia content 410, which is presentable as part of the interactive mediapresentation 430. In some example embodiments, the reference module 310accesses a first fingerprint generated from the media content 410 (e.g.,by the fingerprint generation module 220 of the reference server 110).In certain example embodiments, the reference module 310 may access afirst watermark extracted from the media content 410 (e.g., by thewatermark extraction module 230 of the reference server 110).

In operation 720, according to some example embodiments, the fingerprintmodule 320 of the device 131 generates a second identifier (e.g., asecond fingerprint) from a playback of the media content 410 as part ofthe interactive media presentation 430. The second identifier may becalled a generated identifier. In certain example embodiments, thewatermark module 330 of the device 131 extracts the second identifier(e.g., a second watermark) from the playback of the media content 410 aspart of the interactive media presentation 430.

In operation 730, the detection module 340 of the device 131 detects anoccurrence of the event 432 within the interactive media presentation430. This detection may be based on the second identifier (e.g.,generated identifier) matching the first identifier (e.g., referenceidentifier). For example, the detection module 340 may detect theoccurrence of the event 432 by comparing an accessed first fingerprint(e.g., reference fingerprint) of the media content 410 to a generatedsecond fingerprint (e.g., generated fingerprint) of the media content410. Based on the accessed first fingerprint matching the generatedsecond fingerprint, the detection module 340 may detect the occurrenceof the event 432. As another example, the detection module 340 maydetect the occurrence of the event 432 by comparing an accessed firstwatermark (e.g., reference watermark) of the media content 410 to anextracted second watermark (e.g., extracted watermark) of the mediacontent 410. Based on the accessed first watermark matching theextracted second watermark, the detection module 340 may detect theoccurrence of the event 432.

In operation 740, the presentation module 350 of the device 131 presentsthe notification 520, which may reference the occurrence of the event432 within the interactive media presentation 430. As noted above, theevent 432, the occurrence thereof, or both, may be detected based on thesecond identifier being determined to match the first identifier (e.g.,in operation 730). For example, the presentation module 350 may presentthe notification 520 on a display screen of the device 131 (e.g., withinan alert or other message). Accordingly, the notification 520 may bepresented to the user 132 on the device 131, which may be functioning asa supplementary device that monitors the interactive media presentation430 and provides notifications (e.g., notification 520) in response todetected events (e.g., event 432) therein.

In some example embodiments, the presentation module 250 of the device131 causes the device 130 to present the notification 520 (e.g., withinthe user interface 500, in which the interactive media presentation 430may be presented). Accordingly, the notification 520 may be presented tothe user 132 on the device 130, which may be both presenting theinteractive media presentation 430 and providing notifications (e.g.,notification 520) in response to detected events (e.g., event 432)therein.

In certain example embodiments, the presentation module 350 causes thedevice 150 to present the notification 520 (e.g., within an alert orother message). For example, the notification 520 may be presented withthe reference 660 (e.g., to the user 132). Accordingly, the notification520 may be presented to the user 152 on the device 150, which may notifythe user 152 that the user 132 has experienced the event 432 within theinteractive media presentation 430, as indicated by detection of theplayback of the media content 410 as part of the interactive mediapresentation 430.

As shown in FIG. 8, the method 700 may include one or more of operations802, 810, 820, 826, and 828. Operation 802 may be performed prior tooperation 710, and operation 710 may be performed in response tooperation 802. In operation 802, the detection module 340 of the device131 receives a request that a current portion of the interactive mediapresentation 430 be identified. For example, the detection module 340may detect that the help button 510 (e.g., labeled “Get Help For ThisLevel”) has been activated (e.g., clicked or touched), where activationof the help button 510 initiates such a request to identify a currentportion (e.g., a current level of a game) of the interactive mediapresentation 430. In example embodiments that include operation 802, oneor more of operations 710, 720, and 740 may be performed based on thereceived request. Moreover, the presenting of the notification 520 inoperation 740 may identify the current portion of the interactive mediapresentation 430 (e.g., the current level of the game). For example, thecurrent portion of the interactive media presentation 430 may be namedin the notification 520 (e.g., within information 620) or shown in thenotification 520 (e.g., within the map 610).

In some example embodiments, the media content 410 is unique within theinteractive media presentation 430, and the event 432 correspondsexclusively to the media content 410. In such example embodiments,occurrence of the event 432 is always accompanied by a playback of themedia content 410, and a playback of the media content 410 alwayssignifies the occurrence of the event 432. For example, the mediacontent 410 may be a video (e.g., a “cut scene”) that is played onlybetween Level 3 and Level 4 (e.g., upon completion of Level 3) in amulti-level computer game. As another example, the media content 410 maybe a sound (e.g., a trumpet fanfare) that is played only whenever aplayer is promoted to a higher rank in a military simulation game. Insuch example embodiments, the detecting of the occurrence of the event432 in operation 730 may be performed based simply on the secondidentifier (e.g., generated fingerprint) matching the first identifier(e.g., reference fingerprint).

In alternative example embodiments, however, the media content 410 isnot unique within the interactive media presentation 430. The event 432may correspond nonexclusively to the media content 410. In such exampleembodiments, a matching of the second identifier to the first identifierin operation 730 may be insufficient to detect the event 432.Accordingly, one or more additional comparisons of generated identifiersto reference identifiers may be used by the device 131 to detect theevent 432.

In operation 810, the reference module 310 of the device 131 accesses athird identifier in a manner similar to that described above withrespect to operation 710. The third identifier may be a furtherreference identifier and may be accessed from the database 115, and thethird identifier may be obtained from the media content 412, which ispresentable as part of the interactive media presentation 430. In someexample embodiments, the reference module 310 accesses a thirdfingerprint generated from the media content 412 (e.g., by thefingerprint generation module 220 of the reference server 110). Incertain example embodiments, the reference module 310 may access a thirdwatermark extracted from the media content 412 (e.g., by the watermarkextraction module 230 of the reference server 110).

In operation 820, according to some example embodiments, the fingerprintmodule 320 of the device 131 generates a fourth identifier (e.g., afourth fingerprint) from a playback of the media content 412 as part ofthe interactive media presentation 430. The fourth identifier may becalled a further generated identifier. In certain example embodiments,the watermark module 330 of the device 131 extracts the fourthidentifier (e.g., a fourth watermark) from the playback of the mediacontent 412 as part of the interactive media presentation 430.

In example embodiments that include operations 810 and 820, thedetecting of the occurrence of the event 432 in operation 730 may bebased on the third identifier (e.g., further reference identifier)matching the fourth identifier (e.g., further generated identifier). Forexample, the detection module 340 may detect the occurrence of the event432 by comparing accessed first and third fingerprints (e.g., referencefingerprints) to generated second and fourth fingerprints (e.g.,generated fingerprints). Based on the accessed first fingerprintmatching the generated second fingerprint and the accessed thirdfingerprint matching the generated fourth fingerprint, the detectionmodule 340 may detect the occurrence of the event 432. As anotherexample, the detection module 340 may detect the occurrence of the event432 by comparing accessed first and third watermarks (e.g., referencewatermarks) to extracted second and fourth watermarks (e.g., extractedwatermarks). Based on the accessed first watermark matching theextracted second watermark and the third watermark matching the fourthwatermark, the detection module 340 may detect the occurrence of theevent 432.

In some example embodiments, the media content 410 is not unique withinthe interactive media presentation 430, but the event 432 correspondsexclusively to the playback of the media content 410 beingcontemporaneous (e.g., within a five-second window) with the playback ofthe media content 412 (e.g., further media content). In such exampleembodiments, the detecting of the occurrence of the event 432 inoperation 730 may be based on the event 432 corresponding exclusively tothe contemporaneous playback of the media content 410 with the mediacontent 412. In other words, the event 432 may be detected based on theevent 432 corresponding exclusively to the fact that the playback of themedia content 410 is contemporaneous with the playback of the mediacontent 412.

In certain example embodiments, the media content 410 is not uniquewithin the interactive media presentation 430, but the event 432corresponds nonexclusively to the playback of the media content 410being contemporaneous (e.g., within a two-second window) with theplayback of the media content 412 (e.g., further media content). In suchexample embodiments, the detecting of the occurrence of the event 432 inoperation 730 may be based on a probability that the playback of themedia content 410 is contemporaneous with the playback of the mediacontent 412. In operation 826, the detection module 340 of the device131 accesses such a probability (e.g., from the network-based system 105or any portion thereof). For example, the detection module 340 mayaccess a 90% probability that the event 432 is accompanied by acontemporaneous playback of the media content 410 with the media content412. Accordingly, the detection module 340 may perform operation 730based on the accessed probability.

Alternatively, in such example embodiments, the detecting of theoccurrence of the event 432 in operation 730 may be based on a historyof events that occurred within the interactive media presentation 430prior to the playback of the media content 412 within the interactivemedia presentation 430. In operation 828, the detection module 340 ofthe device 131 accesses such a history of detected events (e.g., fromthe network-based system 105 or any portion thereof). For example, thedetection module 340 may access a log of events that have beenpreviously detected by the device 131 while monitoring the interactivemedia presentation 430, and the log of events may indicate that otherevents (e.g., aside from the event 432) signified by a playback of themedia content 410, the media content 412, or both, have already beendetected as already having occurred. Thus, the other events that havealready occurred may be eliminated as potential candidates for detectionin operation 730. Accordingly, the detection module 340 may performoperation 730 based on the accessed history of detected events.

As shown in FIG. 9, the method 700 may include one or more of operations840, 841, 842, 843, 844, 845, 846, and 850. One or more of operations840-846 may be performed as part (e.g., a precursor task, a subroutine,or a portion) of operation 740, in which the presentation module 350 ofthe device 131 presents the notification 520.

In some example embodiments, the event 432 includes (e.g., indicates orsignifies) an achievement within a game by a player of the game (e.g.,an in-game achievement by the user 132). Examples of such an achievementinclude completing a level of the game, performing a particular set oftasks within the game, gaining access to a feature of the game (e.g.,discovering or unlocking hidden content or “Easter eggs”), or anysuitable combination thereof. In operation 840, the presentation module350 presents information 630, which may reference the achievement by theplayer. For example, the information 630 may include a congratulatorymessage that mentions the achievement. As another example, theinformation 630 may include a suggestion that the user 132 (e.g.,player) share the achievement with a socially connected friend (e.g., bysending a message that references the achievement).

In certain example embodiments, the event 432 includes (e.g., indicatesor signifies) an acquisition of a virtual item within a virtual world.Examples of such an acquisition include obtaining a significant talismanor weapon (e.g., within a fantasy adventure game that is set within athree-dimensional virtual world), gaining access to an upgrade to anexisting virtual item (e.g., a faster car in a racing game), receiving alarge sum of virtual money (e.g., treasure or prizes), or any suitablecombination thereof. In operation 841, the presentation module 350presents information 630, which may reference the acquisition of thevirtual item. For example, the information 630 may include acongratulatory message that mentions the acquisition. As anotherexample, the information 630 may include a suggestion that the user 132(e.g., player) shares news of the acquisition with a socially connectedfriend (e.g., by sending a message that references the acquisition).

In some example embodiments, the event 432 includes (e.g., indicates orsignifies) a level of progress within a storyline of a game. Forexample, the media content 410 may include video content, audio content,or both, that indicates the level of progress (e.g., special music thatis specific to a particular section of the storyline). In operation 842,the presentation module 350 presents information 640, which may be basedon, and may reference, the level of progress within the storyline. Forexample, the information 640 may include a summary of the storyline upto the current level of progress, a preview of the next level ofprogress in the storyline, advice, tips, suggestions, encouragements, orany suitable combination thereof.

In certain example embodiments, the event 432 includes (e.g., indicatesor signifies) a level of advancement within the game by a player of thegame (e.g., a new in-game rank attained by the user 132). For example,the media content 410 may include video content, audio content, or both,that indicates the level of advancement (e.g., special insigniapresented on the screen or special sound effects). In operation 842, thepresentation module 350 presents information 640, which may be based on,and may reference, the level of advancement within the game. Forexample, the information 640 may include a description of a rank towhich the player has been promoted, a description of new abilities orpowers accorded to the level of advancement, an indication of progresstoward the next level of advancement, indication of effort (e.g.,measured in time, actions, or both) expended in reaching the level ofadvancement, or any suitable combination thereof.

In some example embodiments, the media content 410 includes content(e.g., audio content or video content) that indicates a virtual locationwithin a virtual world. As noted above, the notification 520 may includeinformation (e.g., information 650) that corresponds to a virtuallocation, virtual orientation, or both, within a virtual world.Accordingly, in operation 843, the presentation module 350 of the device131 presents information (e.g., information 650) that corresponds to(e.g., describes or references) the virtual location within the virtualworld.

Moreover, as noted above, the media content 410 may be spatialized(e.g., by inclusion of multi-channel audio content) with respect to thethree-dimensional virtual world. Hence, in operation 844, thepresentation module 350 presents information (e.g., information 650)that corresponds to the virtual orientation (e.g., at the virtuallocation) within the virtual world.

According to various example embodiments, as noted above, thenotification 520 may include information (e.g., information 620) thatcontains a help document, a guide, an encouragement, a suggestion, anadvertisement, or any suitable combination thereof. Accordingly, inoperation 845, the presentation module 350 of the device 151 presents ahelp document, a guide, an encouragement, a suggestion, anadvertisement, or any suitable combination thereof, in performance ofoperation 740. In some example embodiments, the media content 410indicates a failure to achieve a goal within the interactive mediapresentation 430 (e.g., a failure by a player of a videogame to achievea goal within the game). In such example embodiments, operation 845 mayinvolve presenting a suggestion on achieving the goal (e.g., in the nextattempt or some future attempt), an encouragement to the player (e.g.,to the user 132, that the user 132 try again to achieve a goal), or anadvertisement for a virtual item within the interactive mediapresentation 430 (e.g., a purchasable virtual item that may facilitateachieving the goal), or any suitable combination thereof.

In operation 846, the presentation module 350 of the device 131communicates the notification 520 with the reference 660, which maydescribe the user 132. As noted above, the notification 520 may becommunicated to the user 152 (e.g., via the device 150), who may besocially connected (e.g., as a friend, follower, or connection) to theuser 132 via one or more social networking services. This may have theeffect of notifying the user 152 that the user 132 has experienced theevent 432 within the interactive media presentation 430.

Operation 850 may be performed after operation 730, in which thedetection module 340 of the device 131 detects the occurrence of theevent 432. As shown in FIG. 9, operation 850 may follow operation 740,in which the presentation module 350 of the device 131 presents thenotification 520. In operation 850, the detection module 340 stores areference to the occurrence of the event 432. The reference may bestored in a data record (e.g., within the database 115) that correspondsto the user 132 (e.g., a player of a videogame) from whom the user input420 may be received. As noted above, the user input 420 may be a basis(e.g., an influence, a factor, or a control signal) for the interactivemedia presentation 430. Accordingly, the stored reference may be usableto identify a portion (e.g., section, chapter, level, or part) of theinteractive media presentation 430 that contains the event 432. That is,the stored reference may indicate, designate, or define the portionwithin which the event 432 is configured to occur (e.g., in response tothe user input 420) within the interactive media presentation 430. Thismay have the effect making annotation that the user 132 has beenpresented with this portion of the interactive media presentation 430.In example embodiments where the interactive media presentation 430 is agame, operation 850 results in the detection of the event 432 within theinteractive media presentation 430 being recorded (e.g., in the database115) in a game history of the user 132.

According to various example embodiments, one or more of themethodologies described herein may facilitate detection of an eventwithin a presentation of interactive media. Moreover, one or more of themethodologies described herein may facilitate presentation of anotification that references an event within such interactive media.Hence, one or more the methodologies described herein may facilitateprovision of a supplementary information service that complementsinteractive media, independently, with or without communication from asource of the interactive media.

When these effects are considered in aggregate, one or more of themethodologies described herein may obviate a need for certain efforts orresources that otherwise would be involved in detecting events withininteractive media presentations. Efforts expended by a user inidentifying a current portion of an interactive media presentation maybe reduced by one or more of the methodologies described herein.Computing resources used by one or more machines, databases, or devices(e.g., within the network environment 100) may similarly be reduced.Examples of such computing resources include processor cycles, networktraffic, memory usage, data storage capacity, power consumption, andcooling capacity.

FIG. 10 is a block diagram illustrating components of a machine 1000,according to some example embodiments, able to (e.g., configured to)read instructions from a machine- readable medium (e.g., amachine-readable storage medium, a computer-readable storage medium, orany suitable combination thereof) and perform any one or more of themethodologies discussed herein, in whole or in part. Specifically, FIG.10 shows a diagrammatic representation of the machine 1000 in theexample form of a computer system and within which instructions 1024(e.g., software, a program, an application, an applet, an app, or otherexecutable code) for causing the machine 1000 to perform any one or moreof the methodologies discussed herein may be executed, in whole or inpart. In alternative embodiments, the machine 1000 operates as astandalone device or may be connected (e.g., networked) to othermachines. In a networked deployment, the machine 1000 may operate in thecapacity of a server machine or a client machine in a server-clientnetwork environment, or as a peer machine in a distributed (e.g.,peer-to-peer) network environment. The machine 1000 may be a servercomputer, a client computer, a personal computer (PC), a tabletcomputer, a laptop computer, a netbook, a set-top box (STB), a personaldigital assistant (PDA), a cellular telephone, a smartphone, a webappliance, a network router, a network switch, a network bridge, or anymachine capable of executing the instructions 1024, sequentially orotherwise, that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include a collection of machines that individually orjointly execute the instructions 1024 to perform all or part of any oneor more of the methodologies discussed herein.

The machine 1000 includes a processor 1002 (e.g., a central processingunit (CPU), a graphics processing unit (GPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), or any suitable combinationthereof), a main memory 1004, and a static memory 1006, which areconfigured to communicate with each other via a bus 1008. The machine1100 may further include a graphics display 1010 (e.g., a plasma displaypanel (PDP), a light emitting diode (LED) display, a liquid crystaldisplay (LCD), a projector, or a cathode ray tube (CRT)). The machine1000 may also include an alphanumeric input device 1012 (e.g., akeyboard), a cursor control device 1014 (e.g., a mouse, a touchpad, atrackball, a joystick, a motion sensor, or other pointing instrument,such as a brain-control interface (BCI) or any other sensor capable ofrecording human biometrics as input for controlling a cursor), a storageunit 1016, a signal generation device 1018 (e.g., a speaker), and anetwork interface device 1020.

The storage unit 1016 includes a machine-readable medium 1022 on whichis stored the instructions 1024 embodying any one or more of themethodologies or functions described herein. The instructions 1024 mayalso reside, completely or at least partially, within the main memory1004, within the processor 1002 (e.g., within the processor's cachememory), or both, during execution thereof by the machine 1000.Accordingly, the main memory 1004 and the processor 1002 may beconsidered as machine-readable media. The instructions 1024 may betransmitted or received over a network 1026 (e.g., network 190) via thenetwork interface device 1020.

As used herein, the term “memory” refers to a machine-readable mediumable to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 1022 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions. The term “machine-readable medium” shall also be taken toinclude any medium, or combination of multiple media, that is capable ofstoring instructions for execution by a machine (e.g., machine 1000),such that the instructions, when executed by one or more processors ofthe machine (e.g., processor 1002), cause the machine to perform any oneor more of the methodologies described herein. Accordingly, a“machine-readable medium” refers to a single storage apparatus ordevice, as well as “cloud-based” storage systems or storage networksthat include multiple storage apparatus or devices. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, one or more data repositories in the form of asolid-state memory, an optical medium, a magnetic medium, or anysuitable combination thereof.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A “hardware module” is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor or a groupof processors) may be configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an ASIC. A hardware module may alsoinclude programmable logic or circuitry that is temporarily configuredby software to perform certain operations. For example, a hardwaremodule may include software encompassed within a general-purposeprocessor or other programmable processor. It will be appreciated thatthe decision to implement a hardware module mechanically, in dedicatedand permanently configured circuitry, or in temporarily configuredcircuitry (e.g., configured by software) may be driven by cost and timeconsiderations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Software mayaccordingly configure a processor, for example, to constitute aparticular hardware module at one instance of time and to constitute adifferent hardware module at a different instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, a processor being an example of hardware. Forexample, at least some of the operations of a method may be performed byone or more processors or processor-implemented modules. Moreover, theone or more processors may also operate to support performance of therelevant operations in a “cloud computing” environment or as a “softwareas a service” (SaaS). For example, at least some of the operations maybe performed by a group of computers (as examples of machines includingprocessors), with these operations being accessible via a network (e.g.,the Internet) and via one or more appropriate interfaces (e.g., anapplication program interface (API)).

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Some portions of the subject matter discussed herein may be presented interms of algorithms or symbolic representations of operations on datastored as bits or binary digital signals within a machine memory (e.g.,a computer memory). Such algorithms or symbolic representations areexamples of techniques used by those of ordinary skill in the dataprocessing arts to convey the substance of their work to others skilledin the art. As used herein, an “algorithm” is a self-consistent sequenceof operations or similar processing leading to a desired result. In thiscontext, algorithms and operations involve physical manipulation ofphysical quantities. Typically, but not necessarily, such quantities maytake the form of electrical, magnetic, or optical signals capable ofbeing stored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or any suitable combination thereof), registers, orother machine components that receive, store, transmit, or displayinformation. Furthermore, unless specifically stated otherwise, theterms “a” or “an” are herein used, as is common in patent documents, toinclude one or more than one instance. Finally, as used herein, theconjunction “or” refers to a non-exclusive “or,” unless specificallystated otherwise.

The following enumerated descriptions define various example embodimentsof methods, machine-readable media, and systems (e.g., apparatus)discussed herein:

1. A method comprising:

-   accessing a first fingerprint generated from media content that is    presentable as part of an interactive media presentation within    which an event that corresponds to the media content is configured    to occur in response to a user input;-   generating a second fingerprint from a playback of the media content    as part of the interactive media presentation;-   detecting an occurrence of the event within the interactive media    presentation based on the second fingerprint matching the first    fingerprint,-   the detecting of the occurrence of the event being performed by a    processor of a machine; and-   presenting a notification that references the occurrence of the    event within the interactive media presentation detected based on    the second fingerprint matching the first fingerprint.

2. The method of description 1, wherein:

-   the media content is unique within the interactive media    presentation; and the event corresponds exclusively to the media    content.

3. The method of description 1, wherein:

-   the media content is not unique within the interactive media    presentation;-   the event corresponds nonexclusively to the media content; and-   the detecting of the occurrence of the event is based on a third    fingerprint generated from further media content of the interactive    media presentation matching a fourth fingerprint generated from a    playback of the further media content as part of the interactive    media presentation.

4. The method of description 3, wherein:

-   the event corresponds exclusively to the playback of the media    content being contemporaneous with the playback of the further media    content; and-   the detecting of the occurrence of the event is based on the event    corresponding exclusively to the playback of the media content being    contemporaneous with the playback of the further media content.

5. The method of description 3, wherein:

-   the event corresponds nonexclusively to the playback of the media    content being contemporaneous with the playback of the further media    content; and-   the detecting of the occurrence of the event is based on a    probability that the playback of the media content is    contemporaneous with the playback of the further media content.

6. The method of description 3 or description 5, wherein:

-   the event corresponds nonexclusively to the playback of the media    content being contemporaneous with the playback of the further media    content; and-   the detecting of the occurrence of the event is based on a history    of events that occurred within the interactive media presentation    prior to the playback of the further media content.

7. The method of any of descriptions 1-6, wherein:

-   the generating of the second fingerprint is in response to a request    that a current portion of the interactive media presentation be    identified;-   the presenting of the notification identifies the current portion of    the interactive media presentation; and the method further comprises-   receiving the request that the current portion of the interactive    media presentation be identified.

8. The method of any of descriptions 1-7, wherein:

-   the event includes an achievement within a game by a player of the    game; and-   the presenting of the notification presents information that    references the achievement by the player.

9. The method of any of descriptions 1-8, wherein:

-   the event includes acquisition of a virtual item within a virtual    world; and-   the presenting of the notification presents information that    describes the virtual item.

10. The method of any of descriptions 1-9, wherein:

-   the media content includes video content that indicates a level of    progress within a storyline of a game; and-   the presenting of the notification presents information based on the    level of progress within the storyline of the game.

11. The method of any of descriptions 1-10, wherein:

-   the media content includes audio content that indicates a level of    advancement within a game by a player of the game; and-   the presenting of the notification presents information based on the    level of advancement within the game by the player.

12. The method of any of descriptions 1-11, wherein:

-   the media content includes audio content that indicates a virtual    location within a virtual world; and-   the presenting of the notification presents information that    corresponds to the virtual location within the virtual world.

13. The method of any of descriptions 1-12, wherein:

-   the media content includes multi-channel audio content that    indicates a virtual orientation within a virtual world; and-   the presenting of the notification presents information that    corresponds to the virtual orientation within the virtual world.

14. The method of any of descriptions 1-13, wherein:

-   the media content indicates a failure to achieve a goal within a    game by a player of the game; and-   the presenting of the notification presents at least one of a    suggestion on achieving the goal, an encouragement to the player, or    an advertisement for a virtual item within the game.

15. The method of any of descriptions 1-14, wherein:

-   a first user that submitted the user input is socially connected to    a second user according to a social network; and-   the presenting of the notification includes communicating the    notification with a reference to the first user to a device of the    second user.

16. The method of any of descriptions 1-15 further comprising:

-   storing a reference to the occurrence of the event in a data record    that corresponds to a user that submitted the user input,-   the stored reference being usable to identify the part of the    interactive media presentation within which the event is configured    to occur.

17. A non-transitory machine-readable storage medium comprisinginstructions that, when executed by one or more processors of a machine,cause the machine to perform operations comprising:

-   accessing a first fingerprint generated from media content that is    presentable as part of an interactive media presentation within    which an event that corresponds to the media content is configured    to occur in response to a user input;-   generating a second fingerprint from a playback of the media content    as part of the interactive media presentation;-   detecting an occurrence of the event within the interactive media    presentation based on the second fingerprint matching the first    fingerprint,-   the detecting of the occurrence of the event being performed by the    one or more processors of the machine; and-   presenting a notification that references the occurrence of the    event within the interactive media presentation detected based on    the second fingerprint matching the first fingerprint.

18. The non-transitory machine-readable storage medium of description17, wherein:

-   the media content is not unique within the interactive media    presentation;-   the event corresponds nonexclusively to the media content; and-   the detecting of the occurrence of the event is based on a third    fingerprint generated from further media content of the interactive    media presentation matching a fourth fingerprint generated from a    playback of the further media content as part of the interactive    media presentation.

19. A system comprising:

-   a reference module configured to access a first fingerprint    generated from media content that is presentable as part of an    interactive media presentation within which an event that    corresponds to the media content is configured to occur in response    to a user input;-   a fingerprint module configured to generate a second fingerprint    from a playback of the media content as part of the interactive    media presentation;-   a processor configured by a detection module to detect an occurrence    of the event within the interactive media presentation based on the    second fingerprint matching the first fingerprint; and-   a presentation module configured to present a notification that    references the occurrence of the event within the interactive media    presentation detected based on the second fingerprint matching the    first fingerprint.

20. The system of description 19, wherein:

-   the media content is not unique within the interactive media    presentation;-   the event corresponds nonexclusively to the media content; and-   the detection module configures the processor to detect the    occurrence of the event based on a third fingerprint generated from    further media content of the interactive media presentation matching    a fourth fingerprint generated from a playback of the further media    content as part of the interactive media presentation.

21. A non-transitory machine-readable storage medium comprisinginstructions that, when executed by one or more processors of a machine,cause the machine to perform operations comprising:

-   accessing a first watermark embedded within media content that is    presentable as part of an interactive media presentation within    which an event that corresponds to the media content is configured    to occur in response to a user input;-   detecting a second watermark within a playback of the media content    as part of the interactive media presentation;-   detecting an occurrence of the event within the interactive media    presentation based on the second watermark matching the first    watermark,-   the detecting of the occurrence of the event being performed by the    one or more processors of the machine; and-   presenting a notification that references the occurrence of the    event within the interactive media presentation detected based on    the second watermark matching the first watermark.

What is claimed is:
 1. A non-transitory machine-readable medium storinginstructions executable by a processor to cause a machine to carry outoperations including: detecting that an identifier established frompresentation by a device of an interactive videogame matches a referenceidentifier corresponding with an event within the interactive videogame,wherein the established identifier is selected from the group consistingof a fingerprint of the interactive videogame and a watermark from theinteractive videogame; and responsive to at least detecting that theestablished identifier matches the reference identifier correspondingwith the event within the interactive videogame, causing presentation ofa notification that references the occurrence of the event.
 2. Thenon-transitory machine-readable medium of claim 1, wherein theoperations further include: establishing the identifier from thepresentation of the interactive videogame.
 3. The non-transitorymachine-readable medium of claim 1, wherein the device is a firstdevice, and wherein the non-transitory machine-readable medium isdisposed in a second device positioned to receive media of theinteractive videogame output by the first device during presentation ofthe interactive videogame by the first device.
 4. The non-transitorymachine-readable medium of claim 1, wherein causing presentation of thenotification that references the occurrence of the event comprisescausing presentation of the notification on a user interface of thedevice.
 5. The non-transitory machine-readable medium of claim 1,wherein the operations are executable when a first user is playing theinteractive videogame, and wherein presentation of the notificationcomprises presentation of the notification to a second user that issocially connected with the first user.
 6. The non-transitorymachine-readable medium of claim 1, wherein the event within theinteractive videogame is selected from the group consisting ofplayer-completion of a level of game play and in-game defeat of a playerof the interactive videogame.
 7. The non-transitory machine-readablemedium of claim 1, wherein the interactive videogame comprises avideogame within a three-dimensional virtual world, and wherein theevent is selected from the group consisting of in-game arrival of aplayer at a particular location within the virtual world and in-gameorientation of a player with a particular orientation within the virtualworld.
 8. The non-transitory machine-readable medium of claim 1, whereinthe notification includes information selected from the group consistingof videogame help, an offer for purchase of one or more virtual goods,and an offer for purchase of one or more physical goods.
 9. Thenon-transitory machine-readable medium of claim 8, wherein thenotification comprises a hyperlink to the information.
 10. A methodcomprising: detecting, by a machine, that an identifier established frompresentation by a device of an interactive videogame matches a referenceidentifier corresponding with an event within the interactive videogame,wherein the established identifier is selected from the group consistingof a fingerprint of the interactive videogame and a watermark from theinteractive videogame; and responsive to at least detecting that theestablished identifier matches the reference identifier correspondingwith the event within the interactive videogame, causing presentation ofa notification that references the occurrence of the event.
 11. Themethod of claim 10, further comprising: establishing the identifier fromthe presentation of the interactive videogame.
 12. The method of claim10, wherein causing presentation of the notification that references theoccurrence of the event comprises causing presentation of thenotification on a user interface of the device.
 13. The method of claim10, wherein a first user is playing the interactive videogame, andwherein causing presentation of the notification comprises causingpresentation of the notification to a second user that is sociallyconnected with the first user.
 14. The method of claim 10, wherein theevent within the interactive videogame is selected from the groupconsisting of player-completion of a level of game play and in-gamedefeat of a player of the interactive videogame.
 15. The method of claim10, wherein the interactive videogame comprises a videogame within athree-dimensional virtual world, and wherein the event is selected fromthe group consisting of in-game arrival of a player at a particularlocation within the virtual world and in-game orientation of a playerwith a particular orientation within the virtual world.
 16. The methodof claim 10, wherein the notification includes information selected fromthe group consisting of videogame help, an offer for purchase of one ormore virtual goods, and an offer for purchase of one or more physicalgoods.
 17. The method of claim 16, wherein the notification comprises ahyperlink to the information.
 18. A system comprising: a processingunit; non-transitory data storage holding instructions that, whenexecuted by at least the processing unit, cause the system to performoperations including: detecting that an identifier established frompresentation by a device of an interactive videogame matches a referenceidentifier corresponding with an event within the interactive videogame,wherein the established identifier is selected from the group consistingof a fingerprint of the interactive videogame and a watermark from theinteractive videogame, and responsive to at least detecting that theestablished identifier matches the reference identifier correspondingwith the event within the interactive videogame, causing presentation ofa notification that references the occurrence of the event.
 19. Thesystem of claim 18, wherein the operations further include: establishingthe identifier from the presentation of the interactive videogame. 20.The system of claim 18, wherein the event within the interactivevideogame is selected from the group consisting of player-completion ofa level of game play and in-game defeat of a player of the interactivevideogame, and wherein the notification includes information selectedfrom the group consisting of videogame help, an offer for purchase ofone or more virtual goods, and an offer for purchase of one or morephysical goods.